# -*- coding: utf-8 -*-
"""
Created on Mon Aug 21 14:43:02 2023

@author: skunk69
"""

import json

chinese_name = u'心理授权问卷'
english_name = 'Psychological Empowerment Scale'
abbreviation = 'PES'
category = u'职业价值、态度量表'

outline = u"""心理授权（Psychological Empowerment）是个体体验到的心理状态或认知的综合体，它反映了个体对自己工作角色的一种积极定位。心理授权主要评估四个面向的认知，包含：工作意义(Meaning)、自主性(Self-Determination)、才干(Competence)和工作影响(Impact)。。
心理授权量表（Psychological Empowerment Scale, PES）是由Spreitzer(1995)基于前人关于心理授权的一些理论编写的，并通过实证研究证明了心理授权的四维度结构。我国学者李超平、李晓轩、时勘、陈雪峰（2006）将其翻译为中文版，并将四维度中的才干(Competence)修正为自我效能(Self Efficacy or Competence)。"""

instruction = u"""请仔细阅读下面的题目，根据您的实际情况，判断这些陈述与您的符合程度，并在“非常不同意”、“比较不同意”、“不好确定”、“比较同意”和“非常同意”中选择最符合的一项。"""

with open('PES.txt','r',encoding='utf-8') as f:
    lines = f.readlines()
    f.close()

items = {}
for line in lines:
    key,value = line.strip().split('.',maxsplit=1)
    items[key.strip()] = value.strip()

reverse_items = []
scales = [u'工作意义',u'自我效能',u'自主性','工作影响']
scales_items = [
    list(range(1,4)),
    list(range(4,7)),
    list(range(7,10)),
    list(range(10,13))
    ]
factors = []
factors_scales = []
rating = [u'非常不同意',u'比较不同意',u'不好确定',u'比较同意',u'非常同意']
score_rules = list(range(1,6))

contents = {
    'instruction':instruction,
    'items':items,
    'reverse_items':reverse_items,
    'scales':scales,
    'scales_items':scales_items,
    'factors':factors,
    'factors_scales':factors_scales,
    'rating':rating,
    'score_rules':score_rules       
    }

implementation = u"""《心理授权问卷》属于一个自评量表。"""

reliability = u"""正式调查了20家企业，发放1100份问卷，实际回收有效问卷942份。利用商业软件SPSS 11.0和Amos 4.0对数据进行了统计分析。工作意义、自我效能、工作自主性和工作影响四个维度的内部一致性系数分别为0.82、0.72、0.83和0.86。"""
validity = u"""采用主成分分析方法进行探索性因素分析，结果表明，心理授权问卷是一个四维度的结构，累积方差解释率达到了73.78%，各个项目均负荷在相应的因子上，且具有较大的负荷，这表明该量表具有较好的构想效度。
验证性因素分析的结果表明，四因素模型的各项拟合指数均达到或接近预先确定的标准，这表明心理授权的四因素结构得到了数据的支持。"""
measurements = {'reliability':reliability,'validity':validity}

interpretation = u"""各维度的释义如下：
（1）工作意义，反映被测者主观感受到自己所从事的工作的意义。
（2）自我效能，反映被测者对自身技能、能力及干好一项工作的自信心。
（3）工作自主性，反映被测者在完成一项工作的时候有多大程度上的独立性和自主权。
（4）工作影响，反映被测者对发生在本部门的一些事情的控制力和影响程度。
将各维度条目相加得到各维度分，所有条目得分相加得到总分。"""

applications = u"""无常模。"""

this_scale = {
    'chinese_name':chinese_name,
    'english_name':english_name,
    'abbreviation':abbreviation,
    'category':category,
    'outline':outline,
    'contents':contents,
    'implementation':implementation,
    'measurements':measurements,
    'interpretation':interpretation,
    'applications':applications    
    }

with open(abbreviation+'.json','w+',encoding='utf-8') as f:
    json.dump(this_scale,f,indent=2,ensure_ascii=False)